Allow older PAE Linux guests to access entire compat m2p.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 16:18:27 +0000 (17:18 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 16:18:27 +0000 (17:18 +0100)
commit7139eef57f595d19785b979dfbfb7838853f7e63
tree99a6902609ad5d93f45e8d80d6d3185a5df64401
parente6d935117073dcf8d5123f2c5be49897e98a549f
Allow older PAE Linux guests to access entire compat m2p.

Older PAE guests (prior to xen-unstable.hg 8924:229c602a075a, Feb
2006, this includes some vendor's kernel in the field) use a limit of
0xf6800000 on their code and data segments (i.e. up to the end of the
read-only m2p table).

Newer kernels use a limit of 4G and rely on the hypervisor to clamp to
the actual maximum allowed. 32on64 mode takes advantage of this to
allow a larger m2p than would fit in the PAEonPAE sized hole.

This means that PAE guests with the hardcoded low limit cannot run on
top of a 64 bit hypervisor on a host machine which has more than 16G
of RAM. Fix this by extending any code or data segment which ends
above the start of the hypervisor hole for that guest.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/x86/x86_64/mm.c